Unterstützte Datentypen (in ST)
Sie können folgende Datentypen in Ihrer Anwendung verwenden:
Anwenderdefinierte Datentypen
Ein →anwenderdefinierter Datentyp ist ein →Datentyp, den Sie selbst deklariert haben. Informieren Sie sich unter:
-
"Deklaration eines Datentyps in ST", wie Sie Datentypen deklarieren können
-
"C-Code und/oder C++-Code in die Anwendung integrieren (Deprecated)", wie Sie Datentypen in →C oder →C++ erstellen und in ST verwenden können.
Elementare Datentypen
Neuron Power Engineer unterstützt folgende elementare Datentypen:
Datentyp (= →Schlüsselwort) |
Beschreibung |
I: Standard-→Initialisierungswert U: Untergrenze O: Obergrenze |
---|---|---|
|
I: U: wie Standard-Initialisierungswert (I) O: |
|
|
kurze ganze Zahl (short integer) |
I: U: O: |
|
I: O: |
|
|
doppelte ganze Zahl (double integer) |
I: O: |
|
lange ganze Zahl (long integer) |
I: U: O: |
|
vorzeichenlose kurze ganze Zahl (unsigned short integer) |
I: U: wie Standard-Initialisierungswert (I) (1) O: |
|
I: U: wie Standard-Initialisierungswert (I) (1) |
|
|
vorzeichenlose doppelte ganze Zahl (unsigned double integer) |
I: U: wie Standard-Initialisierungswert (I) (1) |
|
vorzeichenlose lange ganze Zahl (unsigned long integer) |
I: U: wie Standard-Initialisierungswert (I) (1) |
|
reelle Zahl (3) reelle Zahl (3)
|
I: U: Werte im Bereich von |
|
|
I: U: O: Werte im Bereich von |
|
Zeitdauer |
I: U: O: |
|
(nur) Datum |
I: U: wie Standard-Initialisierungswert (I) |
|
(nur) Uhrzeit |
I: U: wie Standard-Initialisierungswert (I) |
|
Datum und Uhrzeit |
I: U: wie Standard-Initialisierungswert (I) |
|
Einzel-Byte-→Zeichenfolge mit variabler Länge |
I: keine Unter-/Obergrenze, da beliebige Zeichenfolge möglich ist |
|
Einzel-Byte-Zeichen |
I: U: wie Standard-Initialisierungswert (I) O: |
|
→Bitfolge der Länge 8 |
I: U: wie Standard-Initialisierungswert (I) (1) O: |
|
Bitfolge der Länge 16 |
I: U: wie Standard-Initialisierungswert (I) (1) O: |
|
Bitfolge der Länge 32 |
I: U: wie Standard-Initialisierungswert (I) (1) O: |
|
Bitfolge der Länge 64 |
I: U: wie Standard-Initialisierungswert (I) (1) O: |
Hinweise:
(1) Bei diesem Datentyp ist es möglich, die Untergrenze (U) oder Obergrenze (O) mit Hilfe der Begriffe MIN
oder MAX
zuzuweisen – siehe FAQ-Artikel: "Wie wird der Minimalwert oder Maximalwert eines Datentyps zugewiesen?"
(2) Das einzelne Unterstrich-Zeichen _
ist zur besseren Lesbarkeit als Trennzeichen für Werte eingefügt, _
ist für die Werte nicht signifikant. Werte mit _
werden von Neuron Power Engineer korrekt interpretiert.
(3) Ungenauigkeiten bei Gleitkommazahlen (betrifft die Datentypen REAL
und LREAL
):
Aufgrund der internen Darstellung von Gleitkommazahlen können sich Ungenauigkeiten bei der Verarbeitung von |
(4) REAL
-Werte werden intern als "Float-Wert" und LREAL
-Werte als "Double-Werte" verwaltet
Das IEEE-Float-Format sieht für die Darstellung folgende Bestimmungen vor:
|
24-Bit-Mantisse |
|
53-Bit-Mantisse |
Bei Verwendung eines →Controllino oder →Arduino Nano als SPS vermeiden Sie die Verwendung von Bausteinen/Variablen, die LREAL
-Werte verarbeiten/liefern.
(5) Werte für TIME_OF_DAY
und DATE_AND_TIME
sind Zeitangaben in der koordinierten Weltzeit (UTC = Coordinated Universal Time) – unabhängig von dem Zielsystem, das Sie verwenden. Eine Liste über die Zeitzonen pro Land (= Abweichung von UTC) finden Sie z.B. unter http://en.wikipedia.org/wiki/List_of_time_zones_by_country (Stand: 29. Juli 2012). Die Sommerzeit ist in der Liste nicht berücksichtigt. Beispiel: UTC+1 = Ortszeit Berlin (Deutschland), Paris (Frankreich), Rom (Italien) oder Wien (Österreich). Bei einer UTC-Zeit von 13:52 ergibt sich also eine Ortszeit 14:52 (Winterzeit) für z.B. Berlin, Paris, Rom oder Wien.
(6) Der Wertbereich und die Auflösung für TIME
, DATE
, TIME_OF_DAY
und DATE_AND_TIME
ist abhängig von der eingesetzten →SPS. Daher ist der angegebene Wert für die Obergrenze ein Annäherungswert. Die tatsächliche Obergrenze für Ihre Anwendung kann jedoch von diesem Wert abweichen.
(7) Die Untergrenze für DATE
bzw. DATE_AND_TIME
ist für Literale gültig. Aufgrund von Berechnungen oder Konvertierungen kann Neuron Power Engineer Werte bis zu DATE#0001-01-01
bzw. DT#0001-01-01-00:00:00.000_000_000
verarbeiten und darstellen. Werte < DATE#0001-01-01
bzw. DT#0001-01-01-00:00:00.000_000_000
werden in Sekunden im Format OVF(number)
angezeigt, und zwar relativ zu DATE#1970-01-01
bzw. DT#1970-01-01-00:00:00.000_000_000
.
8 Kombinationen von 3 Zeichen, beginnend mit dem Dollar-Zeichen ($
) und gefolgt von 2 Hexadezimal-Ziffern, werden in Neuron Power Engineer als entsprechendes Zeichen des ANSI-C-Zeichensatzes interpretiert.
Auf diese Weise können Sie Sonderzeichen, wie z.B. Umlaute, für Einzel-Byte-Zeichenfolgen eingeben. Derzeit werden solche Sonderzeichen in Neuron Power Engineer (z.B. in der Sicht Variablenwerte) jedoch so ausgegeben, wie sie eingegeben wurden.
Hier eine Auswahl an Sonderzeichen (eine Liste von Sonderzeichen und der entsprechenden Hexadezimal-Ziffernfinden Sie unter https://www.ascii-code.com/):
Dezimalwert |
Hexadezimal-Ziffer |
Einzugeben |
Sonderzeichen |
---|---|---|---|
128 |
80 |
$80 |
€ |
163 |
A3 |
$A3 |
£ |
169 |
A9 |
$A9 |
© |
174 |
AE |
$AE |
® |
177 |
B1 |
$B1 |
± |
178 |
B2 |
$B2 |
² (hochgestellte Ziffer "2") |
179 |
B3 |
$B3 |
³ (hochgestellte Ziffer "3") |
188 |
BC |
$BC |
¼ |
189 |
BD |
$BD |
½ |
190 |
BE |
$BE |
¾ |
196 |
C4 |
$C4 |
Ä |
214 |
D6 |
$D6 |
Ö |
220 |
DC |
$DC |
Ü |
223 |
DF |
$DF |
ß |
228 |
E4 |
$E4 |
ä |
246 |
F6 |
$F6 |
ö |
252 |
FC |
$FC |
ü |
Falls die Zeichenkombination '$00' einem einzelnen Zeichen einer STRING -Variable zugewiesen wird, endet die Zeichenfolge der STRING -Variable an dieser Position. Solche Zeichenfolge werden auch in der Sicht Variablenwerte bei $00 beendet.In Zuweisungen wird jedoch die vollständige Zeichenfolge übernommen. So ist es möglich, dass die Sicht Variablenwerte einzelne Zeichen hinter $00 darstellt, falls Sie auf zugewiesenen Zeichen hinter $00 zugreifen. |
Systemdatentypen
Siehe "Systemdatentypen für die Anwendung".